/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.lnu.ums.service;

import edu.lnu.ums.entities.Faculty;
import edu.lnu.ums.entities.Human;
import edu.lnu.ums.entities.Student;
import edu.lnu.ums.entities.Teacher;
import edu.lnu.ums.entities.Worker;
import edu.lnu.ums.entities.core.UMSObject;
import edu.lnu.ums.entities.dictionaries.Country;
import edu.lnu.ums.entities.dictionaries.Months;
import edu.lnu.ums.entities.dictionaries.Sex;
import edu.lnu.ums.entities.dictionaries.Subject;
import edu.lnu.ums.entities.dictionaries.UMSType;
import java.util.List;
import javax.ejb.Local;

@Local
public interface IDictionaryService {

    List<UMSType> getTypes(UMSObject selectedObject);

    List<Months> getMonths(UMSObject selectedObject);

    List<Sex> getSexes(UMSObject selectedObject);

    List<Country> getCountries(UMSObject selectedObject);

    List<Subject> getSubjects(UMSObject selectedObject);

    List<Worker> getWorkers(UMSObject selectedObject);

    List<Student> getStudents(UMSObject selectedObject);

    List<Teacher> getTeachers(UMSObject selectedObject);

    List<Faculty> getFaculties(UMSObject selectedObject);

    List<Human> getHumans(UMSObject selectedObject);

    UMSType getUMSTypeByName(UMSObject selectedObject, String name);

    Months getMonthsByName(UMSObject selectedObject, String name);

    Sex getSexByName(UMSObject selectedObject, String name);

    Country getCountryByName(UMSObject selectedObject, String name);

    Subject getSubjectByName(UMSObject selectedObject, String name);

    Human getHumanById(UMSObject selectedObject, Long id);

    Faculty getFacultyByFullName(UMSObject selectedObject, String name);
}
